The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for reordering the output of recirculated transactions within a pipeline.
A high-bandwidth decompressor must decompress multiple symbols of a transaction in one computational cycle. In order to accomplish such decompression, data processing systems utilize pipelining. However, symbols vary in length. In particular, there is a wide variation between the minimum and maximum number of symbols contained in a transaction. For example, 8 bytes of input could contain as many as 64 or as few as 3 Huffman codes. While the maximum of 64 symbols would be a very unusual and pathological case, building a pipeline deep enough to decode this worst case would be a waste of resources. Moreover, the latency required to process such a transaction through such a deep pipeline would require hundreds of computational cycles.